using System;
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Xml.Serialization;


namespace YF.OneNote.DataTypes
{
  [GeneratedCode("xsd", "2.0.50727.1432")]
  [Serializable]
  
  [DesignerCategory("code")]
  [XmlType(Namespace = "http://schemas.microsoft.com/office/onenote/2007/onenote")]
  [XmlRoot(Namespace = "http://schemas.microsoft.com/office/onenote/2007/onenote", IsNullable = false)]
  public partial class Notebook: NotesHierarchyNode
  {
    #region Fields



    private readonly NotesNodeCollection<SectionGroup> _sectionGroups = new NotesNodeCollection<SectionGroup>();

    private readonly NotesNodeCollection<Section> _sections = new NotesNodeCollection<Section>();
    private string _color;
    private bool _isCurrentlyViewed;
    private string _nickname;
    private string _path;



    #endregion

    #region Properties/Indexers



    [XmlAttribute("color")]
    [DefaultValue("automatic")]
    public string Color
    {
      get
      {
        return _color;
      }
      set
      {
        _color = value;
      }
    }


    [XmlAttribute("isCurrentlyViewed")]
    [DefaultValue(false)]
    public bool IsCurrentlyViewed
    {
      get
      {
        return _isCurrentlyViewed;
      }
      set
      {
        _isCurrentlyViewed = value;
      }
    }


    [XmlAttribute("nickname")]
    public string Nickname
    {
      get
      {
        return _nickname;
      }
      set
      {
        _nickname = value;
      }
    }


    [XmlAttribute("path")]
    public string Path
    {
      get
      {
        return _path;
      }
      set
      {
        _path = value;
      }
    }


    [XmlElement("SectionGroup")]
    public NotesNodeCollection<SectionGroup> SectionGroups
    {
      get
      {
        return _sectionGroups;
      }
    }

    [XmlElement("Section")]
    public NotesNodeCollection<Section> Sections
    {
      get
      {
        return _sections;
      }
    }



    #endregion

#if GENERATOR
    protected override bool UpdateSpecificContents(NotesHierarchyNode node, List<INotesChange> changes)
    {
      throw new NotImplementedException();
    }
#endif
  }
}